home *** CD-ROM | disk | FTP | other *** search
-
-
-
- CLOSE C Library Procedures CLOSE
-
-
-
- NNAAMMEE
- close - delete a descriptor
-
- SSYYNNOOPPSSIISS
- cclloossee((dd))
- iinntt dd;;
-
- DDEESSCCRRIIPPTTIIOONN
- The _c_l_o_s_e call deletes a descriptor from the per-process
- object reference table. If this is the last reference to
- the underlying object, then it will be deactivated. For
- example, on the last close of a file the current _s_e_e_k
- pointer associated with the file is lost; on the last close
- of a _s_o_c_k_e_t(2) associated naming information and queued data
- are discarded; on the last close of a file holding an
- advisory lock the lock is released (see further _f_l_o_c_k(2)).
-
- A close of all of a process's descriptors is automatic on
- _e_x_i_t, but since there is a limit on the number of active
- descriptors per process, _c_l_o_s_e is necessary for programs
- that deal with many descriptors.
-
- When a process forks (see _f_o_r_k(2)), all descriptors for the
- new child process reference the same objects as they did in
- the parent before the fork. If a new process is then to be
- run using _e_x_e_c_v_e(2), the process would normally inherit
- these descriptors. Most of the descriptors can be rear-
- ranged with _d_u_p_2(2) or deleted with _c_l_o_s_e before the _e_x_e_c_v_e
- is attempted, but if some of these descriptors will still be
- needed if the execve fails, it is necessary to arrange for
- them to be closed if the execve succeeds. For this reason,
- the call ``fcntl(d, F_SETFD, 1)'' is provided, which
- arranges that a descriptor will be closed after a successful
- execve; the call ``fcntl(d, F_SETFD, 0)'' restores the
- default, which is to not close the descriptor.
-
- RREETTUURRNN VVAALLUUEE
- Upon successful completion, a value of 0 is returned. Oth-
- erwise, a value of -1 is returned and the global integer
- variable _e_r_r_n_o is set to indicate the error.
-
- EERRRROORRSS
- _C_l_o_s_e will fail if:
-
- [EBADF] _D is not an active descriptor.
-
- SSEEEE AALLSSOO
- accept(2), flock(2), open(2), pipe(2), socket(2), socket-
- pair(2), execve(2), fcntl(2)
-
-
-
-
-
-
- Sprite v1.0 May 22, 1986 1
-
-
-
-